package com.itheima.work;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;

/*
* 请定义一个Collection类型的集合，存储以下字符串：
		“JavaEE企业级开发指南”，”Oracle高级编程”，”MySQL从入门到精通”，
		”Java架构师之路”
	请编程实现以下功能：
	使用迭代器遍历所有元素，并打印
	使用迭代器遍历所有元素，筛选书名小于10个字符的，并打印；
	使用迭代器遍历所有元素，筛选书名中包含“Java”的，并打印
	如果书名中包含“Oracle”，则删掉此书。删掉后，遍历集合，打印所有书名。
	(注意：以上功能写在一个main()方法中，但请单独实现)

* */
public class Test1 {
    public static void main(String[] args) {
        Collection<String> collection = new ArrayList<>();
        collection.add("JavaEE企业级开发指南");
        collection.add("Oracle高级编程");
        collection.add("MySQL从入门到精通");
        collection.add("Java架构师之路");


        Iterator<String> it = collection.iterator();
//        method1(it);
//        method2(it);
//        method3(it);
        method4(collection, it);
    }

    //如果书名中包含“Oracle”，则删掉此书。删掉后，遍历集合，打印所有书名。
    private static void method4(Collection<String> collection, Iterator<String> it) {
        while (it.hasNext()){
            String s = it.next();
            if (s.contains("Oracle")){
                it.remove();
            }
        }

        System.out.println(collection);
    }
    //使用迭代器遍历所有元素，筛选书名中包含“Java”的，并打印
    private static void method3(Iterator<String> it) {
        while (it.hasNext()){
            String s = it.next();
            if (s.contains("Java")){
                System.out.println(s);
            }
        }
    }

    //使用迭代器遍历所有元素，筛选书名小于10个字符的，并打印
    private static void method2(Iterator<String> it) {
        while (it.hasNext()){
            String s = it.next();
            if (s.length()<10){
                System.out.println(s);
            }
        }
    }

    //使用迭代器遍历所有元素，并打印
    private static void method1(Iterator<String> it) {
        while (it.hasNext()){
            System.out.println(it.next());
        }
    }
}
